1. Technical Field
This invention relates in general to scanning codes for identifying parts, and in particular to a method for sequencing multiple two-dimensional scanning codes to identify small parts.
2. Background Art
In the manufacturing of disk drives, it is very important to be able to track spindle motors by their serial number. The serial numbers are used to assure that motors and disks are correctly reworked and ultimately assembled into the disk drive correctly. Some disk drives utilize a flexible printed circuit cable upon which a linear, one-dimensional bar code label can be affixed with pressure sensitive adhesive. The labels contain both human-readable and scanner-readable serial number information.
However, some disk drives use leaf spring connectors that mate to connector pads on the motors instead of using flexible cables. These disk drives have very limited surface area upon which a one-dimensional bar code label may be affixed. The only readily available surface area on these disk drives is their ferrofluid cap on top of the motor. In order to have the serial number encoded, a more compact two-dimensional (2-D) xe2x80x9cmicro-checkerboardxe2x80x9d code, such as a xe2x80x9cData Matrixxe2x80x9d symbols, is used (see FIG. 1).
Although it is possible to locate the 2-D code and human-readable characters around the cap, it is not advisable to use adhesives to attach a preprinted label to the cap since the cap will rotate at high speeds. Small particles of adhesive could creep out from beneath the labels and fly off into the file. Also, small shards from the label cutting operation could fly off the label and cause contamination failures.
This problem can be overcome by laser etching the 2-D code and human-readable characters onto the cap. This solution can be performed with no contamination exposure. However, with laser etching, the optical contrast and edge sharpness are somewhat lacking compared to conventionally printed labels. This is due to the fact that 2-D codes contain many very small cells, some of which are etched and some of which are left blank. For example, the minimum permissible array size is a 10xc3x9710 code array containing 100 cells. However, a 10xc3x9710 array can only encode up to three alphanumeric characters. In order to maximize the scanner read reliability, it is important to keep the individual cells of the 2-D code as large as possible. Larger cells are more impervious to slight dents, scratches and raw material surface imperfections, and laser etching imperfections than small cells.
Unfortunately, the serial numbers of some disk drives contain nine alphanumeric characters. It would take a 14xc3x9714 array to encode the entire nine characters in a single array, which is prohibitively large in size to fit on small parts. As shown in FIG. 2, one solution is to split the serial number 11 into three array codes 13, 15, 17 of three characters each on the part 19 (i.e. three 10xc3x9710 arrays located adjacent to one another). It is noteworthy that, using the same available space, the cells of a 10xc3x9710 array are about twice as large as those of a 14xc3x9714 array.
At the beginning of the manufacturing operation, the motor is placed onto a conveyor pallet by an operator without regard to angular orientation. The optical scanner for the 2-D codes views the entire motor cap. The scanner algorithm is capable of reading all three arrays independent of their orientation. However, since there is no predictable angular orientation, the scanner is unable to control the scan sequence. The three arrays must be ordered in the correct sequence so that the nine character serial number can be correctly reconstructed. Thus, a method for assuring the correct sequencing of multiple, randomly read array codes is needed.
A component has three, laser etched, two-dimensional arrays that each contain three characters of its nine character, alphanumeric serial number. In order for this concept to work, the first three characters of the serial number must be constant for all parts of this type. As a result, the serial number can be divided among the arrays by using the first character as the first digit in the first array, the second character as the first digit in the second array, and the third character as the first digit in the third array. The remaining characters of the serial number are interleaved in the arrays in the following pattern: the fourth and fifth characters are the second and third digits in the first array, the sixth and seventh characters are the second and third digits in the second array, and the eighth and ninth characters are the second and third digits in the third array. With this system, the correct sequence for the arrays will always be ascertainable regardless of the order in which they are read.